/*
 * Stack.h
 *
 *  Created on: 20/06/2013
 *      Author: marcio
 */

#ifndef STACK_H_
#define STACK_H_

template<typename T>
typedef struct stn{
	T* elem;
	struct stn* next;
}StcNode;

template<typename T>
class Stack {
private:
	StcNode<T> root;

public:
	Stack();

	virtual ~Stack();

	T* poll();

	T* remove();

	void add(T* elem);

};

#endif /* STACK_H_ */
